import os
from datetime import datetime, timedelta

# 基础配置
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
DATA_DIR = os.path.join(BASE_DIR, 'data')
LOGS_DIR = os.path.join(BASE_DIR, 'logs')

# 创建目录
os.makedirs(DATA_DIR, exist_ok=True)
os.makedirs(LOGS_DIR, exist_ok=True)

# Kimi AI API配置
KIMI_API_KEY = 'sk-RZtXMe7fMnE7J392cqTIGZ3ecV6dNwgK0mzccsk0wClWRv7d'
KIMI_BASE_URL = 'https://api.moonshot.cn/v1'
KIMI_MODEL = 'moonshot-v1-128k'

# 分类配置
CATEGORIES = [
    '金属镁相关', '煤相关', '新能源相关', '电力相关', '补贴', 
    '国债', '地方债', '专项', '环保', '排放', '废气', 
    '废水', '固废', '安全', '应急', '双碳', '会议', '其他'
]

# 网站配置
WEBSITES = {
    'xinjiang_energy_info': {
        'name': '自治区能源信息',
        'url': 'https://xjdrc.xinjiang.gov.cn/xjfgw/c108386/common_list.shtml',
        'base_url': 'https://xjdrc.xinjiang.gov.cn'
    },
    'xinjiang_energy_policy': {
        'name': '自治区能源政策',
        'url': 'https://xjdrc.xinjiang.gov.cn/xjfgw/c108385/common_list.shtml',
        'base_url': 'https://xjdrc.xinjiang.gov.cn'
    },
    'bingtuan_policy': {
        'name': '兵团政策',
        'url': 'https://www.btnsss.gov.cn/zck/s?tabShow=btzcwj&siteCode=BT13000003_zck&qt=',
        'base_url': 'https://www.btnsss.gov.cn'
    },
    'xinxing_policy': {
        'name': '新星市政策',
        'url': 'https://www.btnsss.gov.cn/zck/s?tabShow=xxswj&siteCode=BT13000003_zck&qt=',
        'base_url': 'https://www.btnsss.gov.cn'
    },
    'nea_policy': {
        'name': '国家能源局',
        'url': 'https://www.nea.gov.cn/policy/zxwj.htm',
        'base_url': 'https://www.nea.gov.cn'
    },
    'ndrc_policy': {
        'name': '国家发改委',
        'url': 'https://www.ndrc.gov.cn/xxgk/wjk/#page-1',
        'base_url': 'https://www.ndrc.gov.cn'
    },
    'bingtuan_news': {
        'name': '兵团新闻',
        'url': 'http://www.xjbt.gov.cn/dt/btyw/zyhy/',
        'base_url': 'http://www.xjbt.gov.cn'
    },
    'bingtuan_act': {
        'name': '兵团活动',
        'url': 'http://www.xjbt.gov.cn/dt/btyw/zdhd/',
        'base_url': 'http://www.xjbt.gov.cn'
    }
}

# 请求头
HEADERS = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
}


# 日期相关配置
def get_date_range():
    """根据当前星期几计算需要爬取的日期范围"""
    today = datetime.now()
    weekday = today.weekday()  # 0=周一, 6=周日

    if weekday == 0:  # 周一
        start_date = today - timedelta(days=3)  # 周五
        end_date = today
    else:
        start_date = today - timedelta(days=1)
        end_date = today

    return start_date, end_date